Micron Document
<!DOCTYPE html>
<html class="client-nojs vector-feature-night-mode-disabled vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-1 vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-1 vector-sticky-header-enabled" lang="en" dir="ltr"><head>
<meta charset="UTF-8">
<title>Real-time computing</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="canonical" href="https://en.wikipedia.org/wiki/Real-time_computing"> <link href="./mw/ext.cite.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/skins.vector.icons.css" rel="stylesheet" type="text/css">
<link href="./mw/skins.vector.search.codex.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/skins.vector.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/user.styles.css" rel="stylesheet" type="text/css">
<meta name="ResourceLoaderDynamicStyles" content="">
<link rel="stylesheet" type="text/css" href="./mw/site.styles.css">
<link rel="stylesheet" type="text/css" href="./mw/noscript.css">
<link rel="stylesheet" type="text/css" href="./footer.css">
<link rel="stylesheet" type="text/css" href="./vector-2022.css">
</head>
<body class="skin--responsive skin-vector skin-vector-search-vue mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-0 ns-subject page-Real-time_computing rootpage-Real-time_computing skin-vector-2022 action-view">
<div class="mw-page-container">
<div class="mw-page-container-inner">
<div class="mw-content-container">
<main id="content" class="mw-body">
<header class="mw-body-header vector-page-titlebar">
<h1 id="firstHeading" class="firstHeading mw-first-heading">
<span id="openzim-page-title" class="mw-page-title-main"><span class="mw-page-title-main">Real-time computing</span></span>
</h1>
</header>
<a id="top"></a>
<div id="bodyContent" class="vector-body ve-init-mw-desktopArticleTarget-targetContainer" aria-labelledby="firstHeading" data-mw-ve-target-container="">
<div id="mw-content-text" class="mw-body-content mw-content-ltr" lang="en" dir="ltr"><div class="mw-content-ltr mw-parser-output" lang="en" dir="ltr">
<style data-mw-deduplicate="TemplateStyles:r1236090951">
/* start https://en.wikipedia.org/ */


.mw-parser-output .hatnote{font-style:italic}.mw-parser-output div.hatnote{padding-left:1.6em;margin-bottom:0.5em}.mw-parser-output .hatnote i{font-style:normal}.mw-parser-output .hatnote+link+.hatnote{margin-top:-0.5em}@media print{body.ns-0 .mw-parser-output .hatnote{display:none!important}}


/* end https://en.wikipedia.org/ */
</style><div role="note" class="hatnote navigation-not-searchable">Not to be confused with <a href="Real-time_communication" title="Real-time communication">Real-time communication</a> or <a href="Real-time_clock" title="Real-time clock">Real-time clock</a>, closely related technologies that are also often abbreviated to RTC.</div>
<style data-mw-deduplicate="TemplateStyles:r1251242444">
/* start https://en.wikipedia.org/ */


.mw-parser-output .ambox{border:1px solid #a2a9b1;border-left:10px solid #36c;background-color:#fbfbfb;box-sizing:border-box}.mw-parser-output .ambox+link+.ambox,.mw-parser-output .ambox+link+style+.ambox,.mw-parser-output .ambox+link+link+.ambox,.mw-parser-output .ambox+.mw-empty-elt+link+.ambox,.mw-parser-output .ambox+.mw-empty-elt+link+style+.ambox,.mw-parser-output .ambox+.mw-empty-elt+link+link+.ambox{margin-top:-1px}html body.mediawiki .mw-parser-output .ambox.mbox-small-left{margin:4px 1em 4px 0;overflow:hidden;width:238px;border-collapse:collapse;font-size:88%;line-height:1.25em}.mw-parser-output .ambox-speedy{border-left:10px solid #b32424;background-color:#fee7e6}.mw-parser-output .ambox-delete{border-left:10px solid #b32424}.mw-parser-output .ambox-content{border-left:10px solid #f28500}.mw-parser-output .ambox-style{border-left:10px solid #fc3}.mw-parser-output .ambox-move{border-left:10px solid #9932cc}.mw-parser-output .ambox-protection{border-left:10px solid #a2a9b1}.mw-parser-output .ambox .mbox-text{border:none;padding:0.25em 0.5em;width:100%}.mw-parser-output .ambox .mbox-image{border:none;padding:2px 0 2px 0.5em;text-align:center}.mw-parser-output .ambox .mbox-imageright{border:none;padding:2px 0.5em 2px 0;text-align:center}.mw-parser-output .ambox .mbox-empty-cell{border:none;padding:0;width:1px}.mw-parser-output .ambox .mbox-image-div{width:52px}@media(min-width:720px){.mw-parser-output .ambox{margin:0 10%}}@media print{body.ns-0 .mw-parser-output .ambox{display:none!important}}


/* end https://en.wikipedia.org/ */
</style>
<p><b>Real-time computing</b> (<b>RTC</b>) is the <a href="Computer_science" title="Computer science">computer science</a> term for <a href="Computer_hardware" title="Computer hardware">hardware</a> and <a href="Software" title="Software">software</a> systems subject to a "real-time constraint", for example from <a href="Event_(synchronization_primitive)" class="mw-redirect" title="Event (synchronization primitive)">event</a> to <a href="Event_(computing)" title="Event (computing)">system response</a>.<sup id="cite_ref-1" class="reference"><a href="#cite_note-1"><span class="cite-bracket">[</span>1<span class="cite-bracket">]</span></a></sup> Real-time programs must guarantee response within specified time constraints, often referred to as "deadlines".<sup id="cite_ref-Ben-Ari-pg164_2-0" class="reference"><a href="#cite_note-Ben-Ari-pg164-2"><span class="cite-bracket">[</span>2<span class="cite-bracket">]</span></a></sup>
</p><p>The term "real-time" is also used in <a href="Computer_simulation" title="Computer simulation">simulation</a> to mean that the simulation's clock runs at the same speed as a real clock.
</p><p>Real-time responses are often understood to be in the order of milliseconds, and sometimes microseconds. A system not specified as operating in real time cannot usually <i>guarantee</i> a response within any timeframe, although <i>typical</i> or <i>expected</i> response times may be given. Real-time processing <i>fails</i> if not completed within a specified deadline relative to an event; deadlines must always be met, regardless of <a href="Load_(computing)" title="Load (computing)">system load</a>.
</p><p>A real-time system has been described as one which "controls an environment by receiving data, processing them, and returning the results sufficiently quickly to affect the environment at that time".<sup id="cite_ref-3" class="reference"><a href="#cite_note-3"><span class="cite-bracket">[</span>3<span class="cite-bracket">]</span></a></sup> The term "real-time" is used in <a href="Industrial_control_system" title="Industrial control system">process control</a> and <a href="Enterprise_system" class="mw-redirect" title="Enterprise system">enterprise systems</a> to mean "without significant delay".
</p><p>Real-time software may use one or more of the following: <a href="Synchronous_programming_language" title="Synchronous programming language">synchronous programming languages</a>, <a href="Real-time_operating_system" title="Real-time operating system">real-time operating systems</a> (RTOSes), and real-time networks. Each of these provide essential frameworks on which to build a real-time software application.
</p><p>Systems used for many <a href="Safety-critical_system" title="Safety-critical system">safety-critical</a> applications must be real-time, such as for control of <a href="Fly-by-wire" title="Fly-by-wire">fly-by-wire</a> aircraft, or <a href="Anti-lock_brakes" class="mw-redirect" title="Anti-lock brakes">anti-lock brakes</a>, both of which demand immediate and accurate mechanical response.<sup id="cite_ref-4" class="reference"><a href="#cite_note-4"><span class="cite-bracket">[</span>4<span class="cite-bracket">]</span></a></sup>
</p>
<meta property="mw:PageProp/toc">
<div class="mw-heading mw-heading2"><h2 id="History">History</h2></div>
<p>The term <i>real-time</i> derives from its use in early <a href="Simulation" title="Simulation">simulation</a>, where a real-world process is simulated at a rate which matched that of the real process (now called <a href="Real-time_simulation" title="Real-time simulation">real-time simulation</a> to avoid ambiguity). <a href="Analog_computer" title="Analog computer">Analog computers</a>, most often, were capable of simulating at a much faster pace than real-time, a situation that could be just as dangerous as a slow simulation if it were not also recognized and accounted for.
</p><p>Minicomputers, particularly in the 1970s onwards, when built into dedicated <a href="Embedded_system" title="Embedded system">embedded systems</a> such as DOG (<a href="Digital_on-screen_graphic" title="Digital on-screen graphic">Digital on-screen graphic</a>) scanners, increased the need for low-latency priority-driven responses to important interactions with incoming data. Operating systems such as <a href="Data_General" title="Data General">Data General</a>'s <a href="Data_General_RDOS" title="Data General RDOS">RDOS (Real-Time Disk Operating System)</a> and RTOS with <a href="Foreground-background" title="Foreground-background">background and foreground scheduling</a> as well as <a href="Digital_Equipment_Corporation" title="Digital Equipment Corporation">Digital Equipment Corporation</a>'s <a href="RT-11" title="RT-11">RT-11</a> date from this era. Background-foreground scheduling allowed low priority tasks CPU time when no foreground task needed to execute, and gave absolute priority within the foreground to threads/tasks with the highest priority. Real-time operating systems would also be used for <a href="Time-sharing" title="Time-sharing">time-sharing</a> multiuser duties. For example, <a href="Data_General_Business_Basic" title="Data General Business Basic">Data General Business Basic</a> could run in the foreground or background of RDOS and would introduce additional elements to the scheduling algorithm to make it more appropriate for people interacting via <a href="Dumb_terminal" class="mw-redirect" title="Dumb terminal">dumb terminals</a>.
</p><p>Early personal computers were sometimes used for real-time computing. The possibility of deactivating other interrupts allowed for hard-coded loops with defined timing, and the low <a href="Interrupt_latency" title="Interrupt latency">interrupt latency</a> allowed the implementation of a real-time operating system, giving the user interface and the disk drives lower priority than the real-time thread. Compared to these the <a href="Programmable_interrupt_controller" title="Programmable interrupt controller">programmable interrupt controller</a> of the Intel CPUs (8086..80586) generates a very large latency and the Windows operating system is neither a real-time operating system nor does it allow a program to take over the CPU completely and use its own <a href="Scheduling_(computing)" title="Scheduling (computing)">scheduler</a>, without using native machine language and thus bypassing all interrupting Windows code. However, several coding libraries exist which offer real time capabilities in a high level language on a variety of operating systems, for example <a href="Real_time_Java" class="mw-redirect" title="Real time Java">Java Real Time</a>. Later microprocessors such as the <a href="Motorola_68000" title="Motorola 68000">Motorola 68000</a> and subsequent family members (68010, 68020, <a href="NXP_ColdFire" title="NXP ColdFire">ColdFire</a> etc.) also became popular with manufacturers of industrial control systems. This application area is one where real-time control offers genuine advantages in terms of process performance and safety.
</p>
<div class="mw-heading mw-heading2"><h2 id="Criteria_for_real-time_computing">Criteria for real-time computing</h2></div>
<p>A system is said to be <i>real-time</i> if the total correctness of an operation depends not only upon its logical correctness, but also upon the time in which it is performed.<sup id="cite_ref-5" class="reference"><a href="#cite_note-5"><span class="cite-bracket">[</span>5<span class="cite-bracket">]</span></a></sup> Real-time systems, as well as their deadlines, are classified by the consequence of missing a deadline:<sup id="cite_ref-6" class="reference"><a href="#cite_note-6"><span class="cite-bracket">[</span>6<span class="cite-bracket">]</span></a></sup>
</p>
<ul><li><i>Hard</i>&nbsp;– missing a deadline is a total system failure.</li>
<li><i>Firm</i>&nbsp;– infrequent deadline misses are tolerable, but may degrade the system's quality of service. The usefulness of a result is zero after its deadline.</li>
<li><i>Soft</i>&nbsp;– the usefulness of a result degrades after its deadline, thereby degrading the system's quality of service.</li></ul>
<p>Thus, the goal of a <i>hard real-time system</i> is to ensure that all deadlines are met, but for <i>soft real-time systems</i> the goal becomes meeting a certain subset of deadlines in order to optimize some application-specific criteria. The particular criteria optimized depend on the application, but some typical examples include maximizing the number of deadlines met, minimizing the lateness of tasks and maximizing the number of high priority tasks meeting their deadlines.
</p><p><b>Hard real-time systems</b> are used when it is imperative that an event be reacted to within a strict deadline. Such strong guarantees are required of systems for which not reacting in a certain interval of time would cause great loss in some manner, especially damaging the surroundings physically or threatening human lives (although the strict definition is simply that missing the deadline constitutes failure of the system). Some examples of hard real-time systems:
</p>
<ul><li>A <a href="Automobile" class="mw-redirect" title="Automobile">car</a> <a href="Internal_combustion_engine" title="Internal combustion engine">engine</a> control system is a hard real-time system because a delayed signal may cause engine failure or damage.</li>
<li>Medical systems such as heart <a href="Artificial_pacemaker" class="mw-redirect" title="Artificial pacemaker">pacemakers</a>. Even though a pacemaker's task is simple, because of the potential risk to human life, medical systems like these are typically required to undergo thorough testing and certification, which in turn requires hard real-time computing in order to offer provable guarantees that a failure is unlikely or impossible.</li>
<li>Industrial process controllers, such as a machine on an <a href="Assembly_line" title="Assembly line">assembly line</a>. If the machine is delayed, the item on the assembly line could pass beyond the reach of the machine (leaving the product untouched), or the machine or the product could be damaged by activating the robot at the wrong time. If the failure is detected, both cases would lead to the assembly line stopping, which slows production. If the failure is not detected, a product with a defect could make it through production, or could cause damage in later steps of production.</li>
<li>Hard real-time systems are typically found interacting at a low level with physical hardware, in <a href="Embedded_system" title="Embedded system">embedded systems</a>. Early video game systems such as the <a href="Atari_2600" title="Atari 2600">Atari 2600</a> and <a href="Cinematronics" title="Cinematronics">Cinematronics</a> vector graphics had hard real-time requirements because of the nature of the graphics and timing hardware.</li>
<li><a href="Softmodem" title="Softmodem">Softmodems</a> replace a hardware modem with software running on a computer's <a href="Central_processing_unit" title="Central processing unit">CPU</a>. The software must run every few milliseconds to generate the next audio data to be output. If that data is late, the receiving modem will lose synchronization, causing a long interruption as synchronization is reestablished or causing the connection to be lost entirely.</li>
<li>Many types of <a href="Printer_(computing)" title="Printer (computing)">printers</a> have hard real-time requirements, such as <a href="Inkjet" class="mw-redirect" title="Inkjet">inkjets</a> (the ink must be deposited at the correct time as the printhead crosses the page), <a href="Laser_printer" class="mw-redirect" title="Laser printer">laser printers</a> (the laser must be activated at the right time as the beam scans across the rotating drum), and dot matrix and various types of <a href="Line_printer" title="Line printer">line printers</a> (the impact mechanism must be activated at the right time as the print mechanism comes into alignment with the desired output). A failure in any of these would cause either missing output or misaligned output.</li></ul>
<p>In the context of <a href="Computer_multitasking" title="Computer multitasking">multitasking</a> systems the <a href="Scheduling_policy" class="mw-redirect" title="Scheduling policy">scheduling policy</a> is normally priority driven (<a href="Preemptive_multitasking" class="mw-redirect" title="Preemptive multitasking">pre-emptive</a> schedulers). In some situations, these can guarantee hard real-time performance (for instance if the set of tasks and their priorities is known in advance). There are other hard real-time schedulers such as <a href="Rate-monotonic_scheduling" title="Rate-monotonic scheduling">rate-monotonic</a> which is not common in general-purpose systems, as it requires additional information in order to schedule a task: namely a bound or worst-case estimate for how long the task must execute. Specific algorithms for scheduling such hard real-time tasks exist, like <a href="Earliest_deadline_first_scheduling" title="Earliest deadline first scheduling">earliest deadline first</a>, which, ignoring the overhead of <a href="Context_switch" title="Context switch">context switching</a>, is sufficient for system loads of less than 100%.<sup id="cite_ref-7" class="reference"><a href="#cite_note-7"><span class="cite-bracket">[</span>7<span class="cite-bracket">]</span></a></sup> New overlay scheduling systems, such as an <a href="Adaptive_partition_scheduler" title="Adaptive partition scheduler">adaptive partition scheduler</a> assist in managing large systems with a mixture of hard real-time and non real-time applications.
</p><p><b>Firm real-time systems</b> are more nebulously defined, and some classifications do not include them, distinguishing only hard and soft real-time systems. Some examples of firm real-time systems:
</p>
<ul><li>The assembly line machine described earlier as <i>hard</i> real-time could instead be considered <i>firm</i> real-time. A missed deadline still causes an error which needs to be dealt with: there might be machinery to mark a part as bad or eject it from the assembly line, or the assembly line could be stopped so an operator can correct the problem. However, as long as these errors are infrequent, they may be tolerated.</li></ul>
<p><b>Soft real-time systems</b> are typically used to solve issues of concurrent access and the need to keep a number of connected systems up-to-date through changing situations. Some examples of soft real-time systems:
</p>
<ul><li>Software that maintains and updates the flight plans for commercial <a href="Airline" title="Airline">airliners</a>. The flight plans must be kept reasonably current, but they can operate with the latency of a few seconds.</li>
<li>Live audio-video systems are also usually soft real-time. A frame of audio which is played late may cause a brief audio glitch (and may cause all subsequent audio to be delayed correspondingly, causing a perception that the audio is being played slower than normal), but this may be better than the alternatives of continuing to play silence, static, a previous audio frame, or estimated data. A frame of video that is delayed typically causes even less disruption for viewers. The system can continue to operate and also recover in the future using workload prediction and reconfiguration methodologies.<sup id="cite_ref-8" class="reference"><a href="#cite_note-8"><span class="cite-bracket">[</span>8<span class="cite-bracket">]</span></a></sup></li>
<li>Similarly, video games are often soft real-time, particularly as they try to meet a target <a href="Frame_rate" title="Frame rate">frame rate</a>. As the next image cannot be computed in advance, since it depends on inputs from the player, only a short time is available to perform all the computing needed to generate a frame of video before that frame must be displayed. If the deadline is missed, the game can continue at a lower frame rate; depending on the game, this may only affect its graphics (while the gameplay continues at normal speed), or the gameplay itself may be slowed down (which was common on older <a href="Third_generation_of_video_game_consoles" title="Third generation of video game consoles">third-</a> and <a href="Fourth_generation_of_video_game_consoles" title="Fourth generation of video game consoles">fourth-generation consoles</a>).</li></ul>
<div class="mw-heading mw-heading3"><h3 id="Real-time_in_digital_signal_processing">Real-time in digital signal processing</h3></div>
<p>In a real-time <a href="Digital_signal_processing" title="Digital signal processing">digital signal processing</a> (DSP) process, the analyzed (input) and generated (output) samples can be processed (or generated) continuously in the time it takes to input and output the same set of samples <i>independent</i> of the processing delay.<sup id="cite_ref-Kuo-Lee-Tian_9-0" class="reference"><a href="#cite_note-Kuo-Lee-Tian-9"><span class="cite-bracket">[</span>9<span class="cite-bracket">]</span></a></sup> It means that the processing delay must be bounded even if the processing continues for an unlimited time. The <a href="Arithmetic_mean" title="Arithmetic mean">mean</a> processing time per sample, including <a href="Overhead_(computing)" title="Overhead (computing)">overhead</a>, is no greater than the sampling period, which is the reciprocal of the <a href="Sampling_rate" class="mw-redirect" title="Sampling rate">sampling rate</a>. This is the criterion whether the samples are grouped together in large segments and processed as blocks or are processed individually and whether there are long, short, or non-existent <a href="Data_buffer" title="Data buffer">input and output buffers</a>.
</p><p>Consider an <a href="Audio_signal_processing" title="Audio signal processing">audio DSP</a> example; if a process requires 2.01 seconds to <a href="Audio_analysis" title="Audio analysis">analyze</a>, <a href="Sound_synthesis" class="mw-redirect" title="Sound synthesis">synthesize</a>, or process 2.00 seconds of sound, it is not real-time. However, if it takes 1.99 seconds, it is or can be made into a real-time DSP process.
</p><p>A common life analogy is standing in a line or <a href="Queue_area" title="Queue area">queue</a> waiting for the checkout in a grocery store. If the line asymptotically grows longer and longer without bound, the checkout process is not real-time. If the length of the line is bounded, customers are being "processed" and output as rapidly, on average, as they are being inputted then that process <i>is</i> real-time. The grocer might go out of business or must at least lose business if they cannot make their checkout process real-time; thus, it is fundamentally important that this process is real-time.
</p><p>A signal processing algorithm that cannot keep up with the flow of input data with output falling further and further behind the input, is not real-time. If the delay of the output (relative to the input) is bounded regarding a process which operates over an unlimited time, then that signal processing algorithm is real-time, even if the throughput delay may be very long.
</p>
<div class="mw-heading mw-heading4"><h4 id="Live_vs._real-time">Live vs. real-time</h4></div>
<p>Real-time signal processing is necessary, but not sufficient in and of itself, for live signal processing such as what is required in <a href="Live_event_support" title="Live event support">live event support</a>. Live audio digital signal processing requires both real-time operation and a sufficient limit to throughput delay so as to be tolerable to performers using <a href="Stage_monitor" class="mw-redirect" title="Stage monitor">stage monitors</a> or <a href="In-ear_monitor" title="In-ear monitor">in-ear monitors</a> and not noticeable as <a href="Lip_sync_error" class="mw-redirect" title="Lip sync error">lip sync error</a> by the audience also directly watching the performers. Tolerable limits to latency for live, real-time processing is a subject of investigation and debate, but is estimated to be between 6 and 20 milliseconds.<sup id="cite_ref-10" class="reference"><a href="#cite_note-10"><span class="cite-bracket">[</span>10<span class="cite-bracket">]</span></a></sup>
</p><p>Real-time bidirectional <a href="G.114" class="mw-redirect" title="G.114">telecommunications delays</a> of less than 300 ms ("round trip" or twice the unidirectional delay) are considered "acceptable" to avoid undesired "talk-over" in conversation.
</p>
<div class="mw-heading mw-heading2"><h2 id="Real-time_and_high-performance">Real-time and high-performance</h2></div>
<p>Real-time computing is sometimes misunderstood to be <a href="High-performance_computing" title="High-performance computing">high-performance computing</a>, but this is not an accurate classification.<sup id="cite_ref-Stankovic1988_11-0" class="reference"><a href="#cite_note-Stankovic1988-11"><span class="cite-bracket">[</span>11<span class="cite-bracket">]</span></a></sup> For example, a massive <a href="Supercomputer" title="Supercomputer">supercomputer</a> executing a scientific simulation may offer impressive performance, yet it is not executing a real-time computation. Conversely, once the hardware and software for an anti-lock braking system have been designed to meet its required deadlines, no further performance gains are obligatory or even useful. Furthermore, if a network server is highly loaded with network traffic, its response time may be slower, but will (in most cases) still succeed before it times out (hits its deadline). Hence, such a network server would not be considered a real-time system: temporal failures (delays, time-outs, etc.) are typically small and compartmentalized (limited in effect), but are not <a href="Catastrophic_failure" title="Catastrophic failure">catastrophic failures</a>. In a real-time system, such as the <a href="FTSE_100_Index" title="FTSE 100 Index">FTSE 100 Index</a>, a slow-down beyond limits would often be considered catastrophic in its application context. The most important requirement of a real-time system is consistent output, not high throughput.
</p><p>Some kinds of software, such as many <a href="Computer_chess" title="Computer chess">chess-playing programs</a>, can fall into either category. For instance, a chess program designed to play in a tournament with a clock will need to decide on a move before a certain deadline or lose the game, and is therefore a real-time computation, but a chess program that is allowed to run indefinitely before moving is not. In both of these cases, however, high performance is desirable: the more work a tournament chess program can do in the allotted time, the better its moves will be, and the faster an unconstrained chess program runs, the sooner it will be able to move. This example also illustrates the essential difference between real-time computations and other computations: if the tournament chess program does not make a decision about its next move in its allotted time it loses the game—i.e., it fails as a real-time computation—while in the other scenario, meeting the deadline is assumed not to be necessary. High-performance is indicative of the amount of processing that is performed in a given amount of time, whereas real-time is the ability to get done with the processing to yield a useful output in the available time.
</p>
<div class="mw-heading mw-heading2"><h2 id="Near_real-time">Near real-time</h2></div>
<p>The term "near real-time" or "nearly real-time" (NRT), in <a href="Telecommunications" title="Telecommunications">telecommunications</a> and <a href="Computing" title="Computing">computing</a>, refers to the time <a href="Network_delay" title="Network delay">delay</a> introduced, by automated <a href="Data_processing" title="Data processing">data processing</a> or <a href="Telecommunications_network" title="Telecommunications network">network</a> transmission, between the occurrence of an event and the use of the processed data, such as for display or <a href="Feedback" title="Feedback">feedback</a> and control purposes. For example, a near-real-time display depicts an event or situation as it existed at the current time minus the processing time, as nearly the time of the live event.<sup id="cite_ref-1037C_12-0" class="reference"><a href="#cite_note-1037C-12"><span class="cite-bracket">[</span>12<span class="cite-bracket">]</span></a></sup>
</p><p>The distinction between the terms "near real time" and "real time" is somewhat nebulous and must be defined for the situation at hand. The term implies that there are no significant delays.<sup id="cite_ref-1037C_12-1" class="reference"><a href="#cite_note-1037C-12"><span class="cite-bracket">[</span>12<span class="cite-bracket">]</span></a></sup> In many cases, processing described as "real-time" would be more accurately described as "near real-time".
</p><p>Near real-time also refers to delayed real-time transmission of voice and video. It allows playing video images, in approximately real-time, without having to wait for an entire large video file to download. Incompatible databases can export/import to common flat files that the other database can import/export on a scheduled basis so they can sync/share common data in "near real-time" with each other.
</p>
<div class="mw-heading mw-heading2"><h2 id="Design_methods">Design methods</h2></div>
<p>Several methods exist to aid the design of real-time systems, an example of which is <a href="Modular_Approach_to_Software_Construction_Operation_and_Test" title="Modular Approach to Software Construction Operation and Test">MASCOT</a>, an old but very successful method that represents the <a href="Concurrency_(computer_science)" title="Concurrency (computer science)">concurrent</a> structure of the system. Other examples are <a href="HOOD_method" title="HOOD method">HOOD</a>, Real-Time UML, <a href="Architecture_Analysis_%26_Design_Language" title="Architecture Analysis &amp; Design Language">AADL</a>, the <a href="Ravenscar_profile" title="Ravenscar profile">Ravenscar profile</a>, and <a href="Real_time_Java" class="mw-redirect" title="Real time Java">Real-Time Java</a>.
</p>
<div class="mw-heading mw-heading2"><h2 id="See_also">See also</h2></div>
<style data-mw-deduplicate="TemplateStyles:r1184024115">
/* start https://en.wikipedia.org/ */


.mw-parser-output .div-col{margin-top:0.3em;column-width:30em}.mw-parser-output .div-col-small{font-size:90%}.mw-parser-output .div-col-rules{column-rule:1px solid #aaa}.mw-parser-output .div-col dl,.mw-parser-output .div-col ol,.mw-parser-output .div-col ul{margin-top:0}.mw-parser-output .div-col li,.mw-parser-output .div-col dd{page-break-inside:avoid;break-inside:avoid-column}


/* end https://en.wikipedia.org/ */
</style><div class="div-col" style="column-width: 25em;">
<ul><li><a href="Autonomous_peripheral_operation" title="Autonomous peripheral operation">Autonomous peripheral operation</a></li>
<li><a href="Control_system" title="Control system">Control system</a></li>
<li><a href="Failure_detector" title="Failure detector">Failure detector</a></li>
<li><a href="Nodal_architecture" class="mw-redirect" title="Nodal architecture">Nodal architecture</a></li>
<li><a href="Processing_modes" class="mw-redirect" title="Processing modes">Processing modes</a></li>
<li><a href="Ptolemy_Project" title="Ptolemy Project">Ptolemy Project</a></li>
<li><a href="Real-time_data" title="Real-time data">Real-time data</a></li>
<li><a href="Real-time_computer_graphics" title="Real-time computer graphics">Real-time computer graphics</a></li>
<li><a href="Real-time_operating_system" title="Real-time operating system">Real-time operating system</a></li>
<li><a href="Real-time_testing" title="Real-time testing">Real-time testing</a></li>
<li><a href="Remote_diagnostics" title="Remote diagnostics">Remote diagnostics</a></li>
<li><a href="Scheduling_analysis_real-time_systems" title="Scheduling analysis real-time systems">Scheduling analysis real-time systems</a></li>
<li><a href="Synchronous_programming_language" title="Synchronous programming language">Synchronous programming language</a></li>
<li><a href="Time-utility_function" title="Time-utility function">Time-utility function</a></li>
<li><a href="Stephen_J._Mellor" title="Stephen J. Mellor">Ward–Mellor method</a></li>
<li><a href="Worst-case_execution_time" title="Worst-case execution time">Worst-case execution time</a></li></ul>
</div>
<div class="mw-heading mw-heading2"><h2 id="References">References</h2></div>
<style data-mw-deduplicate="TemplateStyles:r1239543626">
/* start https://en.wikipedia.org/ */


.mw-parser-output .reflist{margin-bottom:0.5em;list-style-type:decimal}@media screen{.mw-parser-output .reflist{font-size:90%}}.mw-parser-output .reflist .references{font-size:100%;margin-bottom:0;list-style-type:inherit}.mw-parser-output .reflist-columns-2{column-width:30em}.mw-parser-output .reflist-columns-3{column-width:25em}.mw-parser-output .reflist-columns{margin-top:0.3em}.mw-parser-output .reflist-columns ol{margin-top:0}.mw-parser-output .reflist-columns li{page-break-inside:avoid;break-inside:avoid-column}.mw-parser-output .reflist-upper-alpha{list-style-type:upper-alpha}.mw-parser-output .reflist-upper-roman{list-style-type:upper-roman}.mw-parser-output .reflist-lower-alpha{list-style-type:lower-alpha}.mw-parser-output .reflist-lower-greek{list-style-type:lower-greek}.mw-parser-output .reflist-lower-roman{list-style-type:lower-roman}


/* end https://en.wikipedia.org/ */
</style><div class="reflist">
<div class="mw-references-wrap mw-references-columns"><ol class="references">
<li id="cite_note-1"><span class="mw-cite-backlink"><b><a href="#cite_ref-1">^</a></b></span> <span class="reference-text"><style data-mw-deduplicate="TemplateStyles:r1238218222">
/* start https://en.wikipedia.org/ */


.mw-parser-output cite.citation{font-style:inherit;word-wrap:break-word}.mw-parser-output .citation q{quotes:"\"""\"""'""'"}.mw-parser-output .citation:target{background-color:rgba(0,127,255,0.133)}.mw-parser-output .id-lock-free.id-lock-free a{background:url("./mw/Lock-green.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-limited.id-lock-limited a,.mw-parser-output .id-lock-registration.id-lock-registration a{background:url("./mw/Lock-gray-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-subscription.id-lock-subscription a{background:url("./mw/Lock-red-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .cs1-ws-icon a{background:url("./mw/Wikisource-logo.svg")right 0.1em center/12px no-repeat}body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-free a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-limited a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-registration a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-subscription a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .cs1-ws-icon a{background-size:contain;padding:0 1em 0 0}.mw-parser-output .cs1-code{color:inherit;background:inherit;border:none;padding:inherit}.mw-parser-output .cs1-hidden-error{display:none;color:var(--color-error,#d33)}.mw-parser-output .cs1-visible-error{color:var(--color-error,#d33)}.mw-parser-output .cs1-maint{display:none;color:#085;margin-left:0.3em}.mw-parser-output .cs1-kern-left{padding-left:0.2em}.mw-parser-output .cs1-kern-right{padding-right:0.2em}.mw-parser-output .citation .mw-selflink{font-weight:inherit}@media screen{.mw-parser-output .cs1-format{font-size:95%}html.skin-theme-clientpref-night .mw-parser-output .cs1-maint{color:#18911f}}@media screen and (prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .cs1-maint{color:#18911f}}


/* end https://en.wikipedia.org/ */
</style><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://www.freertos.org/FAQWhat.html#WhyUseRTOS">"FreeRTOS – Open Source RTOS Kernel for small embedded systems – What is FreeRTOS FAQ?"</a>. <i>FreeRTOS</i><span class="reference-accessdate">. Retrieved <span class="nowrap">2021-03-08</span></span>.</cite></span>
</li>
<li id="cite_note-Ben-Ari-pg164-2"><span class="mw-cite-backlink"><b><a href="#cite_ref-Ben-Ari-pg164_2-0">^</a></b></span> <span class="reference-text"><a href="Mordechai_Ben-Ari" title="Mordechai Ben-Ari">Ben-Ari, Mordechai</a>; "Principles of Concurrent and Distributed Programming", ch. 16, Prentice Hall, 1990, <a href="ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&nbsp;<bdi>0-13-711821-X</bdi>, p. 164</span>
</li>
<li id="cite_note-3"><span class="mw-cite-backlink"><b><a href="#cite_ref-3">^</a></b></span> <span class="reference-text"><cite id="CITEREFMartin1965" class="citation book cs1">Martin, James (1965). <span class="id-lock-registration" title="Free registration required"><a rel="nofollow" class="external text" href="https://archive.org/details/programmingrealt0000mart"><i>Programming Real-time Computer Systems</i></a></span>. Englewood Cliffs, New Jersey: Prentice-Hall Incorporated. p.&nbsp;<a rel="nofollow" class="external text" href="https://archive.org/details/programmingrealt0000mart/page/4">4</a>. <a href="ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&nbsp;<bdi>978-0-13-730507-0</bdi>.</cite></span>
</li>
<li id="cite_note-4"><span class="mw-cite-backlink"><b><a href="#cite_ref-4">^</a></b></span> <span class="reference-text"><cite id="CITEREFKant2010" class="citation book cs1">Kant, Krishna (May 2010). <a rel="nofollow" class="external text" href="https://books.google.com/books?id=3714jIryozYC&amp;pg=PA356"><i>Computer-Based Industrial Control</i></a>. PHI Learning. p.&nbsp;356. <a href="ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&nbsp;<bdi>9788120339880</bdi><span class="reference-accessdate">. Retrieved <span class="nowrap">2015-01-17</span></span>.</cite></span>
</li>
<li id="cite_note-5"><span class="mw-cite-backlink"><b><a href="#cite_ref-5">^</a></b></span> <span class="reference-text"><cite id="CITEREFShinRamanathan1994" class="citation journal cs1"><a href="Kang_G._Shin" title="Kang G. Shin">Shin, Kang G.</a>; Ramanathan, Parameswaran (Jan 1994). <a rel="nofollow" class="external text" href="http://kabru.eecs.umich.edu/papers/publications/1994/ramanathan-shin-ieee-proceedings.pdf">"Real-time computing: a new discipline of computer science and engineering"</a> <span class="cs1-format">(PDF)</span>. <i>Proceedings of the IEEE</i>. <b>82</b> (1): <span class="nowrap">6–</span>24. <a href="CiteSeerX_(identifier)" class="mw-redirect" title="CiteSeerX (identifier)">CiteSeerX</a>&nbsp;<span class="id-lock-free" title="Freely accessible"><a rel="nofollow" class="external text" href="https://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.252.3947">10.1.1.252.3947</a></span>. <a href="Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1109%2F5.259423">10.1109/5.259423</a>. <a href="ISSN_(identifier)" class="mw-redirect" title="ISSN (identifier)">ISSN</a>&nbsp;<a rel="nofollow" class="external text" href="https://search.worldcat.org/issn/0018-9219">0018-9219</a>.</cite></span>
</li>
<li id="cite_note-6"><span class="mw-cite-backlink"><b><a href="#cite_ref-6">^</a></b></span> <span class="reference-text">Kopetz, Hermann; <i>Real-Time Systems: Design Principles for Distributed Embedded Applications</i>, Kluwer Academic Publishers, 1997</span>
</li>
<li id="cite_note-7"><span class="mw-cite-backlink"><b><a href="#cite_ref-7">^</a></b></span> <span class="reference-text">Liu, Chang L.; and Layland, James W.; "Scheduling Algorithms for Multiprogramming in a Hard Real-time Environment", <i>Journal of the ACM</i>, 20(1):46-61, January 1973, <a rel="nofollow" class="external free" href="http://citeseer.ist.psu.edu/liu73scheduling.html">http://citeseer.ist.psu.edu/liu73scheduling.html</a></span>
</li>
<li id="cite_note-8"><span class="mw-cite-backlink"><b><a href="#cite_ref-8">^</a></b></span> <span class="reference-text"><cite id="CITEREFMenychtasKyriazisTserpes2009" class="citation journal cs1">Menychtas, Andreas; Kyriazis, Dimosthenis; Tserpes, Konstantinos (July 2009). "Real-time reconfiguration for guaranteeing QoS provisioning levels in Grid environments". <i>Future Generation Computer Systems</i>. <b>25</b> (7): <span class="nowrap">779–</span>784. <a href="Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1016%2Fj.future.2008.11.001">10.1016/j.future.2008.11.001</a>.</cite></span>
</li>
<li id="cite_note-Kuo-Lee-Tian-9"><span class="mw-cite-backlink"><b><a href="#cite_ref-Kuo-Lee-Tian_9-0">^</a></b></span> <span class="reference-text">Kuo, Sen M.; Lee, Bob H.; and Tian, Wenshun; "Real-Time Digital Signal Processing: Implementations and Applications", Wiley, 2006, <a href="ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&nbsp;<bdi>0-470-01495-4</bdi>, <a rel="nofollow" class="external text" href="http://media.wiley.com/product_data/excerpt/54/04700149/0470014954.pdf">Section 1.3.4: <i>Real-Time Constraints</i></a>.</span>
</li>
<li id="cite_note-10"><span class="mw-cite-backlink"><b><a href="#cite_ref-10">^</a></b></span> <span class="reference-text"><cite id="CITEREFKudrleProulxCarrieresLopez2011" class="citation journal cs1">Kudrle, Sara; Proulx, Michel; Carrieres, Pascal; Lopez, Marco; et&nbsp;al. (July 2011). "Fingerprinting for Solving A/V Synchronization Issues within Broadcast Environments". <i>SMPTE Motion Imaging Journal</i>. <b>120</b> (5): <span class="nowrap">36–</span>46. <a href="Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.5594%2Fj18059XY">10.5594/j18059XY</a>. <q>Appropriate A/V sync limits have been established and the range that is considered acceptable for film is +/- 22 ms. The range for video, according to the ATSC, is up to 15 ms lead time and about 45 ms lag time</q></cite></span>
</li>
<li id="cite_note-Stankovic1988-11"><span class="mw-cite-backlink"><b><a href="#cite_ref-Stankovic1988_11-0">^</a></b></span> <span class="reference-text"><cite id="CITEREFStankovic1988" class="citation cs2">Stankovic, John (1988), "Misconceptions about real-time computing: a serious problem for next-generation systems", <i>Computer</i>, vol.&nbsp;21, no.&nbsp;10, IEEE Computer Society, p.&nbsp;11, <a href="Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1109%2F2.7053">10.1109/2.7053</a>, <a href="S2CID_(identifier)" class="mw-redirect" title="S2CID (identifier)">S2CID</a>&nbsp;<a rel="nofollow" class="external text" href="https://api.semanticscholar.org/CorpusID:13884580">13884580</a></cite></span>
</li>
<li id="cite_note-1037C-12"><span class="mw-cite-backlink">^ <a href="#cite_ref-1037C_12-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-1037C_12-1"><sup><i><b>b</b></i></sup></a></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="http://www.its.bldrdoc.gov/fs-1037/fs-1037c.htm">"Federal Standard 1037C: Glossary of Telecommunications Terms"</a>. Its.bldrdoc.gov<span class="reference-accessdate">. Retrieved <span class="nowrap">2014-04-26</span></span>.</cite></span>
</li>
</ol></div></div>
<div class="mw-heading mw-heading2"><h2 id="Further_reading">Further reading</h2></div>
<ul><li><cite id="CITEREFBurnsWellings2009" class="citation cs2">Burns, Alan; Wellings, Andy (2009), <i>Real-Time Systems and Programming Languages</i> (4th&nbsp;ed.), Addison-Wesley, <a href="ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&nbsp;<bdi>978-0-321-41745-9</bdi></cite></li>
<li><cite id="CITEREFButtazzo2011" class="citation cs2">Buttazzo, Giorgio (2011), <a rel="nofollow" class="external text" href="https://books.google.com/books?id=h6q-e4Q_rzgC&amp;q=%22real-time%22"><i>Hard Real-Time Computing Systems: Predictable Scheduling Algorithms and Applications</i></a>, New York, New York: Springer, <a href="ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&nbsp;<bdi>9781461406761</bdi> – via <a href="Google_Books" title="Google Books">Google Books</a></cite>.</li>
<li><cite id="CITEREFLiu2000" class="citation cs2"><a href="Jane_Liu" title="Jane Liu">Liu, Jane W. S.</a> (2000), <i>Real-time systems</i>, Upper Saddle River, New Jersey: Prentice Hall</cite>.</li>
<li><a rel="nofollow" class="external text" href="https://www.springer.com/journal/11241">The International Journal of Time-Critical Computing Systems</a></li></ul>
<div class="mw-heading mw-heading2"><h2 id="External_links">External links</h2></div>
<ul><li><a rel="nofollow" class="external text" href="https://cmte.ieee.org/tcrts/">IEEE Technical Committee on Real-Time Systems</a></li>
<li><a rel="nofollow" class="external text" href="http://www.ecrts.org">Euromicro Technical Committee on Real-time Systems</a></li>
<li><a rel="nofollow" class="external text" href="https://web.archive.org/web/20121128161655/http://www.opal-rt.com/technical-document/what-where-and-why-real-time-simulation">The What, Where and Why of Real-Time Simulation</a></li>
<li><cite id="CITEREFJohnstone" class="citation web cs1">Johnstone, R.L. <a rel="nofollow" class="external text" href="http://bitsavers.trailing-edge.com/pdf/ibm/360/nasa_rtos/RTOS_AFIPS_1969.pdf">"RTOS—Extending OS/360 for real time spaceflight control"</a> <span class="cs1-format">(PDF)</span>. <i>Bitsavers</i><span class="reference-accessdate">. Retrieved <span class="nowrap">February 24,</span> 2023</span>.</cite></li>
<li><cite id="CITEREFCoyleStewart1963" class="citation journal cs1">Coyle, R. J.; Stewart, J. K. (September 1963). <a rel="nofollow" class="external text" href="https://archive.org/details/bitsavers_computersA_7555012/page/n25?q=%22DESIGN+OF+A+REAL-TIME+PROGRAMMING+SYSTEM%22">"Design of a Real-time Programming System"</a>. <i>Computers and Automation</i>. <b>XII</b> (9). Silver Spring, Maryland: Datatrol Corporation: <span class="nowrap">26–</span>34. <q>[...] set of notes which will hopefully point up problem areas which should be considered in real time design.</q></cite></li></ul>
<div class="navbox-styles"><style data-mw-deduplicate="TemplateStyles:r1129693374">
/* start https://en.wikipedia.org/ */


.mw-parser-output .hlist dl,.mw-parser-output .hlist ol,.mw-parser-output .hlist ul{margin:0;padding:0}.mw-parser-output .hlist dd,.mw-parser-output .hlist dt,.mw-parser-output .hlist li{margin:0;display:inline}.mw-parser-output .hlist.inline,.mw-parser-output .hlist.inline dl,.mw-parser-output .hlist.inline ol,.mw-parser-output .hlist.inline ul,.mw-parser-output .hlist dl dl,.mw-parser-output .hlist dl ol,.mw-parser-output .hlist dl ul,.mw-parser-output .hlist ol dl,.mw-parser-output .hlist ol ol,.mw-parser-output .hlist ol ul,.mw-parser-output .hlist ul dl,.mw-parser-output .hlist ul ol,.mw-parser-output .hlist ul ul{display:inline}.mw-parser-output .hlist .mw-empty-li{display:none}.mw-parser-output .hlist dt::after{content:": "}.mw-parser-output .hlist dd::after,.mw-parser-output .hlist li::after{content:" · ";font-weight:bold}.mw-parser-output .hlist dd:last-child::after,.mw-parser-output .hlist dt:last-child::after,.mw-parser-output .hlist li:last-child::after{content:none}.mw-parser-output .hlist dd dd:first-child::before,.mw-parser-output .hlist dd dt:first-child::before,.mw-parser-output .hlist dd li:first-child::before,.mw-parser-output .hlist dt dd:first-child::before,.mw-parser-output .hlist dt dt:first-child::before,.mw-parser-output .hlist dt li:first-child::before,.mw-parser-output .hlist li dd:first-child::before,.mw-parser-output .hlist li dt:first-child::before,.mw-parser-output .hlist li li:first-child::before{content:" (";font-weight:normal}.mw-parser-output .hlist dd dd:last-child::after,.mw-parser-output .hlist dd dt:last-child::after,.mw-parser-output .hlist dd li:last-child::after,.mw-parser-output .hlist dt dd:last-child::after,.mw-parser-output .hlist dt dt:last-child::after,.mw-parser-output .hlist dt li:last-child::after,.mw-parser-output .hlist li dd:last-child::after,.mw-parser-output .hlist li dt:last-child::after,.mw-parser-output .hlist li li:last-child::after{content:")";font-weight:normal}.mw-parser-output .hlist ol{counter-reset:listitem}.mw-parser-output .hlist ol>li{counter-increment:listitem}.mw-parser-output .hlist ol>li::before{content:" "counter(listitem)"\a0 "}.mw-parser-output .hlist dd ol>li:first-child::before,.mw-parser-output .hlist dt ol>li:first-child::before,.mw-parser-output .hlist li ol>li:first-child::before{content:" ("counter(listitem)"\a0 "}


/* end https://en.wikipedia.org/ */
</style><style data-mw-deduplicate="TemplateStyles:r1236075235">
/* start https://en.wikipedia.org/ */


.mw-parser-output .navbox{box-sizing:border-box;border:1px solid #a2a9b1;width:100%;clear:both;font-size:88%;text-align:center;padding:1px;margin:1em auto 0}.mw-parser-output .navbox .navbox{margin-top:0}.mw-parser-output .navbox+.navbox,.mw-parser-output .navbox+.navbox-styles+.navbox{margin-top:-1px}.mw-parser-output .navbox-inner,.mw-parser-output .navbox-subgroup{width:100%}.mw-parser-output .navbox-group,.mw-parser-output .navbox-title,.mw-parser-output .navbox-abovebelow{padding:0.25em 1em;line-height:1.5em;text-align:center}.mw-parser-output .navbox-group{white-space:nowrap;text-align:right}.mw-parser-output .navbox,.mw-parser-output .navbox-subgroup{background-color:#fdfdfd}.mw-parser-output .navbox-list{line-height:1.5em;border-color:#fdfdfd}.mw-parser-output .navbox-list-with-group{text-align:left;border-left-width:2px;border-left-style:solid}.mw-parser-output tr+tr>.navbox-abovebelow,.mw-parser-output tr+tr>.navbox-group,.mw-parser-output tr+tr>.navbox-image,.mw-parser-output tr+tr>.navbox-list{border-top:2px solid #fdfdfd}.mw-parser-output .navbox-title{background-color:#ccf}.mw-parser-output .navbox-abovebelow,.mw-parser-output .navbox-group,.mw-parser-output .navbox-subgroup .navbox-title{background-color:#ddf}.mw-parser-output .navbox-subgroup .navbox-group,.mw-parser-output .navbox-subgroup .navbox-abovebelow{background-color:#e6e6ff}.mw-parser-output .navbox-even{background-color:#f7f7f7}.mw-parser-output .navbox-odd{background-color:transparent}.mw-parser-output .navbox .hlist td dl,.mw-parser-output .navbox .hlist td ol,.mw-parser-output .navbox .hlist td ul,.mw-parser-output .navbox td.hlist dl,.mw-parser-output .navbox td.hlist ol,.mw-parser-output .navbox td.hlist ul{padding:0.125em 0}.mw-parser-output .navbox .navbar{display:block;font-size:100%}.mw-parser-output .navbox-title .navbar{float:left;text-align:left;margin-right:0.5em}body.skin--responsive .mw-parser-output .navbox-image img{max-width:none!important}@media print{body.ns-0 .mw-parser-output .navbox{display:none!important}}


/* end https://en.wikipedia.org/ */
</style></div><div role="navigation" class="navbox" aria-labelledby="Computer_science1050" style="padding:3px"><table class="nowraplinks hlist mw-collapsible autocollapse navbox-inner" style="border-spacing:0;background:transparent;color:inherit"><tbody><tr><th scope="col" class="navbox-title" colspan="2"><style data-mw-deduplicate="TemplateStyles:r1239400231">
/* start https://en.wikipedia.org/ */


.mw-parser-output .navbar{display:inline;font-size:88%;font-weight:normal}.mw-parser-output .navbar-collapse{float:left;text-align:left}.mw-parser-output .navbar-boxtext{word-spacing:0}.mw-parser-output .navbar ul{display:inline-block;white-space:nowrap;line-height:inherit}.mw-parser-output .navbar-brackets::before{margin-right:-0.125em;content:"[ "}.mw-parser-output .navbar-brackets::after{margin-left:-0.125em;content:" ]"}.mw-parser-output .navbar li{word-spacing:-0.125em}.mw-parser-output .navbar a>span,.mw-parser-output .navbar a>abbr{text-decoration:inherit}.mw-parser-output .navbar-mini abbr{font-variant:small-caps;border-bottom:none;text-decoration:none;cursor:inherit}.mw-parser-output .navbar-ct-full{font-size:114%;margin:0 7em}.mw-parser-output .navbar-ct-mini{font-size:114%;margin:0 4em}html.skin-theme-clientpref-night .mw-parser-output .navbar li a abbr{color:var(--color-base)!important}@media(prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .navbar li a abbr{color:var(--color-base)!important}}@media print{.mw-parser-output .navbar{display:none!important}}


/* end https://en.wikipedia.org/ */
</style><div id="Computer_science1050" style="font-size:114%;margin:0 4em"><a href="Computer_science" title="Computer science">Computer science</a></div></th></tr><tr><td class="navbox-abovebelow" colspan="2"><div>Note: This template roughly follows the 2012 <a href="ACM_Computing_Classification_System" title="ACM Computing Classification System">ACM Computing Classification System</a>.</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Computer_hardware" title="Computer hardware">Hardware</a></th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Printed_circuit_board" title="Printed circuit board">Printed circuit board</a></li>
<li><a href="Peripheral" title="Peripheral">Peripheral</a></li>
<li><a href="Integrated_circuit" title="Integrated circuit">Integrated circuit</a></li>
<li><a href="Very-large-scale_integration" title="Very-large-scale integration">Very-large-scale integration</a></li>
<li><a href="System_on_a_chip" title="System on a chip">System on a chip</a> (SoC)</li>
<li><a href="Green_computing" title="Green computing">Energy consumption</a> (green computing)</li>
<li><a href="Electronic_design_automation" title="Electronic design automation">Electronic design automation</a></li>
<li><a href="Hardware_acceleration" title="Hardware acceleration">Hardware acceleration</a></li>
<li><a href="Processor_(computing)" title="Processor (computing)">Processor</a></li>
<li><a href="List_of_computer_size_categories" title="List of computer size categories">Size</a> / <a href="Form_factor_(design)" title="Form factor (design)">Form</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Computer systems organization</th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Computer_architecture" title="Computer architecture">Computer architecture</a></li>
<li><a href="Computational_complexity" title="Computational complexity">Computational complexity</a></li>
<li><a href="Dependability" title="Dependability">Dependability</a></li>
<li><a href="Embedded_system" title="Embedded system">Embedded system</a></li>

<li><a href="Cyber-physical_system" title="Cyber-physical system">Cyber-physical system</a></li>
<li><a href="Fault_tolerance" title="Fault tolerance">Fault tolerance</a></li>
<li><a href="Wireless_sensor_network" title="Wireless sensor network">Wireless sensor network</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Computer_network" title="Computer network">Networks</a></th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Network_architecture" title="Network architecture">Network architecture</a></li>
<li><a href="Communication_protocol" title="Communication protocol">Network protocol</a></li>
<li><a href="Networking_hardware" title="Networking hardware">Network components</a></li>
<li><a href="Network_scheduler" title="Network scheduler">Network scheduler</a></li>
<li><a href="Network_performance" title="Network performance">Network performance evaluation</a></li>
<li><a href="Network_service" title="Network service">Network service</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Software organization</th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Interpreter_(computing)" title="Interpreter (computing)">Interpreter</a></li>
<li><a href="Middleware" title="Middleware">Middleware</a></li>
<li><a href="Virtual_machine" title="Virtual machine">Virtual machine</a></li>
<li><a href="Operating_system" title="Operating system">Operating system</a></li>
<li><a href="Software_quality" title="Software quality">Software quality</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Programming_language_theory" title="Programming language theory">Software notations</a> and <a href="Programming_tool" title="Programming tool">tools</a></th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Programming_paradigm" title="Programming paradigm">Programming paradigm</a></li>
<li><a href="Programming_language" title="Programming language">Programming language</a></li>
<li><a href="Compiler_construction" class="mw-redirect" title="Compiler construction">Compiler</a></li>
<li><a href="Domain-specific_language" title="Domain-specific language">Domain-specific language</a></li>
<li><a href="Modeling_language" title="Modeling language">Modeling language</a></li>
<li><a href="Software_framework" title="Software framework">Software framework</a></li>
<li><a href="Integrated_development_environment" title="Integrated development environment">Integrated development environment</a></li>
<li><a href="Software_configuration_management" title="Software configuration management">Software configuration management</a></li>
<li><a href="Library_(computing)" title="Library (computing)">Software library</a></li>
<li><a href="Software_repository" title="Software repository">Software repository</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Software_development" title="Software development">Software development</a></th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Control_flow" title="Control flow">Control variable</a></li>
<li><a href="Software_development_process" title="Software development process">Software development process</a></li>
<li><a href="Requirements_analysis" title="Requirements analysis">Requirements analysis</a></li>
<li><a href="Software_design" title="Software design">Software design</a></li>
<li><a href="Software_construction" title="Software construction">Software construction</a></li>
<li><a href="Software_deployment" title="Software deployment">Software deployment</a></li>
<li><a href="Software_engineering" title="Software engineering">Software engineering</a></li>
<li><a href="Software_maintenance" title="Software maintenance">Software maintenance</a></li>
<li><a href="Programming_team" title="Programming team">Programming team</a></li>
<li><a href="Open-source_software" title="Open-source software">Open-source model</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Theory_of_computation" title="Theory of computation">Theory of computation</a></th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Model_of_computation" title="Model of computation">Model of computation</a>
<ul><li><a href="Stochastic_computing" title="Stochastic computing">Stochastic</a></li></ul></li>
<li><a href="Formal_language" title="Formal language">Formal language</a></li>
<li><a href="Automata_theory" title="Automata theory">Automata theory</a></li>
<li><a href="Computability_theory" title="Computability theory">Computability theory</a></li>
<li><a href="Computational_complexity_theory" title="Computational complexity theory">Computational complexity theory</a></li>
<li><a href="Logic_in_computer_science" title="Logic in computer science">Logic</a></li>
<li><a href="Semantics_(computer_science)" title="Semantics (computer science)">Semantics</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Algorithm" title="Algorithm">Algorithms</a></th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Algorithm_design" class="mw-redirect" title="Algorithm design">Algorithm design</a></li>
<li><a href="Analysis_of_algorithms" title="Analysis of algorithms">Analysis of algorithms</a></li>
<li><a href="Algorithmic_efficiency" title="Algorithmic efficiency">Algorithmic efficiency</a></li>
<li><a href="Randomized_algorithm" title="Randomized algorithm">Randomized algorithm</a></li>
<li><a href="Computational_geometry" title="Computational geometry">Computational geometry</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Mathematics of <a href="Computing" title="Computing">computing</a></th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Discrete_mathematics" title="Discrete mathematics">Discrete mathematics</a></li>
<li><a href="Probability" title="Probability">Probability</a></li>
<li><a href="Statistics" title="Statistics">Statistics</a></li>
<li><a href="Mathematical_software" title="Mathematical software">Mathematical software</a></li>
<li><a href="Information_theory" title="Information theory">Information theory</a></li>
<li><a href="Mathematical_analysis" title="Mathematical analysis">Mathematical analysis</a></li>
<li><a href="Numerical_analysis" title="Numerical analysis">Numerical analysis</a></li>
<li><a href="Theoretical_computer_science" title="Theoretical computer science">Theoretical computer science</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Information_system" title="Information system">Information systems</a></th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Database" title="Database">Database management system</a></li>
<li><a href="Computer_data_storage" title="Computer data storage">Information storage systems</a></li>
<li><a href="Enterprise_information_system" title="Enterprise information system">Enterprise information system</a></li>
<li><a href="Social_software" title="Social software">Social information systems</a></li>
<li><a href="Geographic_information_system" title="Geographic information system">Geographic information system</a></li>
<li><a href="Decision_support_system" title="Decision support system">Decision support system</a></li>
<li><a href="Industrial_process_control" title="Industrial process control">Process control system</a></li>
<li><a href="Multimedia_database" title="Multimedia database">Multimedia information system</a></li>
<li><a href="Data_mining" title="Data mining">Data mining</a></li>
<li><a href="Digital_library" title="Digital library">Digital library</a></li>
<li><a href="Computing_platform" title="Computing platform">Computing platform</a></li>
<li><a href="Digital_marketing" title="Digital marketing">Digital marketing</a></li>
<li><a href="World_Wide_Web" title="World Wide Web">World Wide Web</a></li>
<li><a href="Information_retrieval" title="Information retrieval">Information retrieval</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Computer_security" title="Computer security">Security</a></th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Cryptography" title="Cryptography">Cryptography</a></li>
<li><a href="Formal_methods" title="Formal methods">Formal methods</a></li>
<li><a href="Security_hacker" title="Security hacker">Security hacker</a></li>
<li><a href="Security_service_(telecommunication)" title="Security service (telecommunication)">Security services</a></li>
<li><a href="Intrusion_detection_system" title="Intrusion detection system">Intrusion detection system</a></li>
<li><a href="Hardware_security" title="Hardware security">Hardware security</a></li>
<li><a href="Network_security" title="Network security">Network security</a></li>
<li><a href="Information_security" title="Information security">Information security</a></li>
<li><a href="Application_security" title="Application security">Application security</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a class="external text external" href="https://en.wikipedia.org/wiki/Human-centered_computing">Human–centered computing</a></th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Interaction_design" title="Interaction design">Interaction design</a></li>
<li><a href="Augmented_reality" title="Augmented reality">Augmented reality</a></li>
<li><a href="Virtual_reality" title="Virtual reality">Virtual reality</a></li>
<li><a href="Social_computing" title="Social computing">Social computing</a></li>
<li><a href="Ubiquitous_computing" title="Ubiquitous computing">Ubiquitous computing</a></li>
<li><a href="Visualization_(graphics)" title="Visualization (graphics)">Visualization</a></li>
<li><a href="Computer_accessibility" title="Computer accessibility">Accessibility</a></li>
<li><a href="Human%E2%80%93computer_interaction" title="Human–computer interaction">Human–computer interaction</a></li>
<li><a href="Mobile_computing" title="Mobile computing">Mobile computing</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Concurrency_(computer_science)" title="Concurrency (computer science)">Concurrency</a></th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Concurrent_computing" title="Concurrent computing">Concurrent computing</a></li>
<li><a href="Parallel_computing" title="Parallel computing">Parallel computing</a></li>
<li><a href="Distributed_computing" title="Distributed computing">Distributed computing</a></li>
<li><a href="Multithreading_(computer_architecture)" title="Multithreading (computer architecture)">Multithreading</a></li>
<li><a href="Multiprocessing" title="Multiprocessing">Multiprocessing</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Artificial_intelligence" title="Artificial intelligence">Artificial intelligence</a></th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Natural_language_processing" title="Natural language processing">Natural language processing</a></li>
<li><a href="Knowledge_representation_and_reasoning" title="Knowledge representation and reasoning">Knowledge representation and reasoning</a></li>
<li><a href="Computer_vision" title="Computer vision">Computer vision</a></li>
<li><a href="Automated_planning_and_scheduling" title="Automated planning and scheduling">Automated planning and scheduling</a></li>
<li><a href="Mathematical_optimization" title="Mathematical optimization">Search methodology</a></li>
<li><a href="Control_theory" title="Control theory">Control method</a></li>
<li><a href="Philosophy_of_artificial_intelligence" title="Philosophy of artificial intelligence">Philosophy of artificial intelligence</a></li>
<li><a href="Distributed_artificial_intelligence" title="Distributed artificial intelligence">Distributed artificial intelligence</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Machine_learning" title="Machine learning">Machine learning</a></th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Supervised_learning" title="Supervised learning">Supervised learning</a></li>
<li><a href="Unsupervised_learning" title="Unsupervised learning">Unsupervised learning</a></li>
<li><a href="Reinforcement_learning" title="Reinforcement learning">Reinforcement learning</a></li>
<li><a href="Multi-task_learning" title="Multi-task learning">Multi-task learning</a></li>
<li><a href="Cross-validation_(statistics)" title="Cross-validation (statistics)">Cross-validation</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Computer_graphics" title="Computer graphics">Graphics</a></th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Computer_animation" title="Computer animation">Animation</a></li>
<li><a href="Rendering_(computer_graphics)" title="Rendering (computer graphics)">Rendering</a></li>
<li><a href="Photograph_manipulation" title="Photograph manipulation">Photograph manipulation</a></li>
<li><a href="Graphics_processing_unit" title="Graphics processing unit">Graphics processing unit</a></li>
<li><a href="Image_compression" title="Image compression">Image compression</a></li>
<li><a href="Solid_modeling" title="Solid modeling">Solid modeling</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Applied computing</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Quantum_computing" title="Quantum computing">Quantum computing</a></li>
<li><a href="E-commerce" title="E-commerce">E-commerce</a></li>
<li><a href="Enterprise_software" title="Enterprise software">Enterprise software</a></li>
<li><a href="Computational_mathematics" title="Computational mathematics">Computational mathematics</a></li>
<li><a href="Computational_physics" title="Computational physics">Computational physics</a></li>
<li><a href="Computational_chemistry" title="Computational chemistry">Computational chemistry</a></li>
<li><a href="Computational_biology" title="Computational biology">Computational biology</a></li>
<li><a href="Computational_social_science" title="Computational social science">Computational social science</a></li>
<li><a href="Computational_engineering" title="Computational engineering">Computational engineering</a></li>
<li>Differentiable computing</li>
<li><a href="Health_informatics" title="Health informatics">Computational healthcare</a></li>
<li><a href="Digital_art" title="Digital art">Digital art</a></li>
<li><a href="Electronic_publishing" title="Electronic publishing">Electronic publishing</a></li>
<li><a href="Cyberwarfare" title="Cyberwarfare">Cyberwarfare</a></li>
<li><a href="Electronic_voting" title="Electronic voting">Electronic voting</a></li>
<li><a href="Video_game" title="Video game">Video games</a></li>
<li><a href="Word_processor" title="Word processor">Word processing</a></li>
<li><a href="Operations_research" title="Operations research">Operations research</a></li>
<li><a href="Educational_technology" title="Educational technology">Educational technology</a></li>
<li><a href="Document_management_system" title="Document management system">Document management</a></li></ul>
</div></td></tr><tr><td class="navbox-abovebelow" colspan="2"><div>
<ul><li><span class="noviewer" typeof="mw:File"><span title="Category"></span></span> Category</li>
<li><span class="noviewer" typeof="mw:File"><span title="Outline"></span></span> <a href="Outline_of_computer_science" title="Outline of computer science">Outline</a></li>
<li><span class="noviewer" typeof="mw:File"><span></span></span> Glossaries</li></ul>
</div></td></tr></tbody></table></div></div><!--htdig_noindex--><div><div class="zim-footer">
This article is issued from <a class="external text" title="Last edited on 2025-07-18" href="https://en.wikipedia.org/wiki/?title=Real-time_computing&amp;oldid=1301121221">Wikipedia</a>. The text is available under <a class="external text" href="https://creativecommons.org/licenses/by-sa/4.0/deed.en">Creative Commons Attribution-Share Alike 4.0</a> unless otherwise noted. Additional terms may apply for the media files.
</div>
</div><!--/htdig_noindex--></div>
</div>
</main>
</div>
</div>
</div>

</body></html>